আমাজন আরডিএস (Amazon RDS)

Python boto3 SDK দিয়ে RDS অটোমেশন

Database Tutorials - আমাজন আরডিএস (Amazon RDS) - AWS CLI এবং SDK দিয়ে অটোমেশন | NCTB BOOK

boto3 হলো AWS (Amazon Web Services)-এর Python SDK, যা AWS সেবা ব্যবহার করতে সহায়তা করে। এটি RDS (Relational Database Service) পরিচালনার জন্য API কল করতে এবং বিভিন্ন কাজ অটোমেট করতে সাহায্য করে।

এখানে, আমি boto3 SDK দিয়ে RDS সম্পর্কিত কিছু সাধারণ অটোমেশন স্ক্রিপ্ট উদাহরণ প্রদান করব। এই স্ক্রিপ্টগুলির মাধ্যমে আপনি RDS ইন্সট্যান্স তৈরি, মডিফাই, ব্যাকআপ নেওয়া, এবং অন্য অনেক কার্যক্রম অটোমেট করতে পারবেন।


১. RDS ইন্সট্যান্স তৈরি (Create RDS Instance):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# RDS ইনস্ট্যান্স তৈরি করার জন্য API কল
response = rds.create_db_instance(
    DBName='mydb',
    DBInstanceIdentifier='mydbinstance',
    DBInstanceClass='db.t3.micro',
    Engine='mysql',
    MasterUsername='admin',
    MasterUserPassword='yourpassword',
    AllocatedStorage=20,  # GB
    VpcSecurityGroupIds=['sg-xxxxxxxx'],
    MultiAZ=False,  # সেট করতে চাইলে True
    PubliclyAccessible=False,
    BackupRetentionPeriod=7,
    Tags=[
        {'Key': 'Name', 'Value': 'MyRDSInstance'}
    ]
)

print(response)

এখানে আমরা একটি নতুন MySQL ডাটাবেস ইন্সট্যান্স তৈরি করছি। আপনি DBInstanceClass, AllocatedStorage, Engine এবং অন্যান্য কনফিগারেশন ভ্যালু পরিবর্তন করে আপনার প্রয়োজন অনুযায়ী কনফিগারেশন করতে পারেন।


২. RDS ইন্সট্যান্সের স্ট্যাটাস চেক করা (Check DB Instance Status):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# ডাটাবেস ইন্সট্যান্সের স্ট্যাটাস চেক করা
response = rds.describe_db_instances(
    DBInstanceIdentifier='mydbinstance'
)

# স্ট্যাটাস দেখানো
for db_instance in response['DBInstances']:
    print(f"DBInstanceIdentifier: {db_instance['DBInstanceIdentifier']}")
    print(f"DBInstanceStatus: {db_instance['DBInstanceStatus']}")

এই স্ক্রিপ্টটি আপনার নির্দিষ্ট DB ইন্সট্যান্সের স্ট্যাটাস দেখাবে, যেমন available, backing-up, modifying ইত্যাদি।


৩. RDS ইন্সট্যান্স মডিফাই (Modify RDS Instance):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# RDS ইন্সট্যান্স মডিফাই করা
response = rds.modify_db_instance(
    DBInstanceIdentifier='mydbinstance',
    AllocatedStorage=50,  # স্টোরেজ বাড়ানো
    ApplyImmediately=True
)

print(response)

এই স্ক্রিপ্টটি আপনার ডাটাবেস ইন্সট্যান্সের স্টোরেজ সাইজ বাড়াবে। ApplyImmediately=True সেট করলে পরিবর্তনটি সঙ্গে সঙ্গে কার্যকর হবে।


৪. RDS ইন্সট্যান্সের স্ন্যাপশট তৈরি (Create RDS Snapshot):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# RDS স্ন্যাপশট তৈরি করা
response = rds.create_db_snapshot(
    DBSnapshotIdentifier='mydbsnapshot',
    DBInstanceIdentifier='mydbinstance'
)

print(response)

এটি আপনার ডাটাবেস ইন্সট্যান্সের একটি স্ন্যাপশট তৈরি করবে, যাতে ভবিষ্যতে ডাটাবেসের অবস্থান পুনরুদ্ধার করতে পারেন।


৫. RDS ইন্সট্যান্স স্টপ এবং রিস্টার্ট (Stop and Start RDS Instance):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# RDS ইন্সট্যান্স স্টপ করা
response_stop = rds.stop_db_instance(
    DBInstanceIdentifier='mydbinstance'
)
print(f"Stopping DB Instance: {response_stop}")

# RDS ইন্সট্যান্স রিস্টার্ট করা
response_start = rds.start_db_instance(
    DBInstanceIdentifier='mydbinstance'
)
print(f"Starting DB Instance: {response_start}")

এই স্ক্রিপ্ট দুটি রিডান্ট ইন্সট্যান্স স্টপ এবং রিস্টার্ট করতে সহায়তা করবে। আপনি একে অটোমেটিকভাবে চালু/বন্ধ করতে পারেন।


৬. RDS Read Replica তৈরি (Create Read Replica):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# Read Replica তৈরি করা
response = rds.create_db_instance_read_replica(
    DBInstanceIdentifier='mydbreadreplica',
    SourceDBInstanceIdentifier='mydbinstance',
    DBInstanceClass='db.t3.medium',
    PubliclyAccessible=False
)

print(response)

এই স্ক্রিপ্টটি একটি Read Replica তৈরি করবে যা মূল ডাটাবেসের ডেটা সিঙ্ক্রোনাইজ করতে সহায়তা করবে এবং রিড ট্রাফিক পরিচালনার জন্য ব্যবহৃত হবে।


৭. RDS ডাটাবেসের ব্যাকআপ কনফিগারেশন (Modify Backup Retention):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# ব্যাকআপ রিটেনশন পরিবর্তন করা
response = rds.modify_db_instance(
    DBInstanceIdentifier='mydbinstance',
    BackupRetentionPeriod=14,  # ব্যাকআপ রিটেনশন দিন
    ApplyImmediately=True
)

print(response)

এই স্ক্রিপ্টটি ডাটাবেসের ব্যাকআপ রিটেনশন সময় পরিবর্তন করবে। এটি ডাটাবেস ব্যাকআপের কত দিন ধরে রাখা হবে তা নির্ধারণ করে।


boto3 ব্যবহার করার জন্য প্রস্তুতি:

  1. boto3 ইনস্টল করা: boto3 SDK ইনস্টল করতে হবে, যা আপনি নিচের কমান্ড দিয়ে পিপ (pip) এর মাধ্যমে ইনস্টল করতে পারেন:

    pip install boto3
    
  2. AWS ক্রেডেনশিয়াল কনফিগারেশন: AWS CLI বা boto3 ব্যবহার করতে, আপনাকে আপনার AWS Access Key এবং Secret Access Key সেট করতে হবে। আপনি AWS CLI কনফিগারেশন কমান্ড ব্যবহার করে অথবা boto3 লাইব্রেরির মাধ্যমে এ কাজটি করতে পারেন:

    aws configure
    

সারাংশ:

এই স্ক্রিপ্টগুলি Python boto3 SDK ব্যবহার করে RDS এর বিভিন্ন কার্যক্রম অটোমেট করতে সহায়তা করে, যেমন ডাটাবেস তৈরি, স্ট্যাটাস চেক, ব্যাকআপ তৈরি, স্কেলিং, Read Replica তৈরি এবং ইন্সট্যান্স মডিফাই করা। RDS অটোমেশন আপনার ডাটাবেস ম্যানেজমেন্ট অনেক সহজ এবং সময় সাশ্রয়ী করে তোলে।

Content added By
Promotion